﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ScriptEditor
{
    public class CreatureSpellsInfo
    {
        public uint ID;
        public string Name;
        public uint SpellId1;
        public uint SpellId2;
        public uint SpellId3;
        public uint SpellId4;
        public uint SpellId5;
        public uint SpellId6;
        public uint SpellId7;
        public uint SpellId8;
        public uint Probability1;
        public uint Probability2;
        public uint Probability3;
        public uint Probability4;
        public uint Probability5;
        public uint Probability6;
        public uint Probability7;
        public uint Probability8;
        public uint CastTarget1;
        public uint CastTarget2;
        public uint CastTarget3;
        public uint CastTarget4;
        public uint CastTarget5;
        public uint CastTarget6;
        public uint CastTarget7;
        public uint CastTarget8;
        public uint TargetParam1_1;
        public uint TargetParam1_2;
        public uint TargetParam1_3;
        public uint TargetParam1_4;
        public uint TargetParam1_5;
        public uint TargetParam1_6;
        public uint TargetParam1_7;
        public uint TargetParam1_8;
        public uint TargetParam2_1;
        public uint TargetParam2_2;
        public uint TargetParam2_3;
        public uint TargetParam2_4;
        public uint TargetParam2_5;
        public uint TargetParam2_6;
        public uint TargetParam2_7;
        public uint TargetParam2_8;
        public uint CastFlags1;
        public uint CastFlags2;
        public uint CastFlags3;
        public uint CastFlags4;
        public uint CastFlags5;
        public uint CastFlags6;
        public uint CastFlags7;
        public uint CastFlags8;
        public uint DelayInitialMin1;
        public uint DelayInitialMin2;
        public uint DelayInitialMin3;
        public uint DelayInitialMin4;
        public uint DelayInitialMin5;
        public uint DelayInitialMin6;
        public uint DelayInitialMin7;
        public uint DelayInitialMin8;
        public uint DelayInitialMax1;
        public uint DelayInitialMax2;
        public uint DelayInitialMax3;
        public uint DelayInitialMax4;
        public uint DelayInitialMax5;
        public uint DelayInitialMax6;
        public uint DelayInitialMax7;
        public uint DelayInitialMax8;
        public uint DelayRepeatMin1;
        public uint DelayRepeatMin2;
        public uint DelayRepeatMin3;
        public uint DelayRepeatMin4;
        public uint DelayRepeatMin5;
        public uint DelayRepeatMin6;
        public uint DelayRepeatMin7;
        public uint DelayRepeatMin8;
        public uint DelayRepeatMax1;
        public uint DelayRepeatMax2;
        public uint DelayRepeatMax3;
        public uint DelayRepeatMax4;
        public uint DelayRepeatMax5;
        public uint DelayRepeatMax6;
        public uint DelayRepeatMax7;
        public uint DelayRepeatMax8;
        public uint ScriptId1;
        public uint ScriptId2;
        public uint ScriptId3;
        public uint ScriptId4;
        public uint ScriptId5;
        public uint ScriptId6;
        public uint ScriptId7;
        public uint ScriptId8;

        public CreatureSpellsInfo(uint id, string name)
        {
            ID = id;
            Name = name;
            SpellId1 = 0;
            SpellId2 = 0;
            SpellId3 = 0;
            SpellId4 = 0;
            SpellId5 = 0;
            SpellId6 = 0;
            SpellId7 = 0;
            SpellId8 = 0;
            Probability1 = 0;
            Probability2 = 0;
            Probability3 = 0;
            Probability4 = 0;
            Probability5 = 0;
            Probability6 = 0;
            Probability7 = 0;
            Probability8 = 0;
            CastTarget1 = 0;
            CastTarget2 = 0;
            CastTarget3 = 0;
            CastTarget4 = 0;
            CastTarget5 = 0;
            CastTarget6 = 0;
            CastTarget7 = 0;
            CastTarget8 = 0;
            TargetParam1_1 = 0;
            TargetParam1_2 = 0;
            TargetParam1_3 = 0;
            TargetParam1_4 = 0;
            TargetParam1_5 = 0;
            TargetParam1_6 = 0;
            TargetParam1_7 = 0;
            TargetParam1_8 = 0;
            TargetParam2_1 = 0;
            TargetParam2_2 = 0;
            TargetParam2_3 = 0;
            TargetParam2_4 = 0;
            TargetParam2_5 = 0;
            TargetParam2_6 = 0;
            TargetParam2_7 = 0;
            TargetParam2_8 = 0;
            CastFlags1 = 0;
            CastFlags2 = 0;
            CastFlags3 = 0;
            CastFlags4 = 0;
            CastFlags5 = 0;
            CastFlags6 = 0;
            CastFlags7 = 0;
            CastFlags8 = 0;
            DelayInitialMin1 = 0;
            DelayInitialMin2 = 0;
            DelayInitialMin3 = 0;
            DelayInitialMin4 = 0;
            DelayInitialMin5 = 0;
            DelayInitialMin6 = 0;
            DelayInitialMin7 = 0;
            DelayInitialMin8 = 0;
            DelayInitialMax1 = 0;
            DelayInitialMax2 = 0;
            DelayInitialMax3 = 0;
            DelayInitialMax4 = 0;
            DelayInitialMax5 = 0;
            DelayInitialMax6 = 0;
            DelayInitialMax7 = 0;
            DelayInitialMax8 = 0;
            DelayRepeatMin1 = 0;
            DelayRepeatMin2 = 0;
            DelayRepeatMin3 = 0;
            DelayRepeatMin4 = 0;
            DelayRepeatMin5 = 0;
            DelayRepeatMin6 = 0;
            DelayRepeatMin7 = 0;
            DelayRepeatMin8 = 0;
            DelayRepeatMax1 = 0;
            DelayRepeatMax2 = 0;
            DelayRepeatMax3 = 0;
            DelayRepeatMax4 = 0;
            DelayRepeatMax5 = 0;
            DelayRepeatMax6 = 0;
            DelayRepeatMax7 = 0;
            DelayRepeatMax8 = 0;
            ScriptId1 = 0;
            ScriptId2 = 0;
            ScriptId3 = 0;
            ScriptId4 = 0;
            ScriptId5 = 0;
            ScriptId6 = 0;
            ScriptId7 = 0;
            ScriptId8 = 0;
        }
        public CreatureSpellsInfo(uint id, string name, CreatureSpellsInfo template)
        {
            ID = id;
            Name = name;
            SpellId1 = template.SpellId1;
            SpellId2 = template.SpellId2;
            SpellId3 = template.SpellId3;
            SpellId4 = template.SpellId4;
            SpellId5 = template.SpellId5;
            SpellId6 = template.SpellId6;
            SpellId7 = template.SpellId7;
            SpellId8 = template.SpellId8;
            Probability1 = template.Probability1;
            Probability2 = template.Probability2;
            Probability3 = template.Probability3;
            Probability4 = template.Probability4;
            Probability5 = template.Probability5;
            Probability6 = template.Probability6;
            Probability7 = template.Probability7;
            Probability8 = template.Probability8;
            CastTarget1 = template.CastTarget1;
            CastTarget2 = template.CastTarget2;
            CastTarget3 = template.CastTarget3;
            CastTarget4 = template.CastTarget4;
            CastTarget5 = template.CastTarget5;
            CastTarget6 = template.CastTarget6;
            CastTarget7 = template.CastTarget7;
            CastTarget8 = template.CastTarget8;
            TargetParam1_1 = template.TargetParam1_1;
            TargetParam1_2 = template.TargetParam1_2;
            TargetParam1_3 = template.TargetParam1_3;
            TargetParam1_4 = template.TargetParam1_4;
            TargetParam1_5 = template.TargetParam1_5;
            TargetParam1_6 = template.TargetParam1_6;
            TargetParam1_7 = template.TargetParam1_7;
            TargetParam1_8 = template.TargetParam1_8;
            TargetParam2_1 = template.TargetParam2_1;
            TargetParam2_2 = template.TargetParam2_2;
            TargetParam2_3 = template.TargetParam2_3;
            TargetParam2_4 = template.TargetParam2_4;
            TargetParam2_5 = template.TargetParam2_5;
            TargetParam2_6 = template.TargetParam2_6;
            TargetParam2_7 = template.TargetParam2_7;
            TargetParam2_8 = template.TargetParam2_8;
            CastFlags1 = template.CastFlags1;
            CastFlags2 = template.CastFlags2;
            CastFlags3 = template.CastFlags3;
            CastFlags4 = template.CastFlags4;
            CastFlags5 = template.CastFlags5;
            CastFlags6 = template.CastFlags6;
            CastFlags7 = template.CastFlags7;
            CastFlags8 = template.CastFlags8;
            DelayInitialMin1 = template.DelayInitialMin1;
            DelayInitialMin2 = template.DelayInitialMin2;
            DelayInitialMin3 = template.DelayInitialMin3;
            DelayInitialMin4 = template.DelayInitialMin4;
            DelayInitialMin5 = template.DelayInitialMin5;
            DelayInitialMin6 = template.DelayInitialMin6;
            DelayInitialMin7 = template.DelayInitialMin7;
            DelayInitialMin8 = template.DelayInitialMin8;
            DelayInitialMax1 = template.DelayInitialMax1;
            DelayInitialMax2 = template.DelayInitialMax2;
            DelayInitialMax3 = template.DelayInitialMax3;
            DelayInitialMax4 = template.DelayInitialMax4;
            DelayInitialMax5 = template.DelayInitialMax5;
            DelayInitialMax6 = template.DelayInitialMax6;
            DelayInitialMax7 = template.DelayInitialMax7;
            DelayInitialMax8 = template.DelayInitialMax8;
            DelayRepeatMin1 = template.DelayRepeatMin1;
            DelayRepeatMin2 = template.DelayRepeatMin2;
            DelayRepeatMin3 = template.DelayRepeatMin3;
            DelayRepeatMin4 = template.DelayRepeatMin4;
            DelayRepeatMin5 = template.DelayRepeatMin5;
            DelayRepeatMin6 = template.DelayRepeatMin6;
            DelayRepeatMin7 = template.DelayRepeatMin7;
            DelayRepeatMin8 = template.DelayRepeatMin8;
            DelayRepeatMax1 = template.DelayRepeatMax1;
            DelayRepeatMax2 = template.DelayRepeatMax2;
            DelayRepeatMax3 = template.DelayRepeatMax3;
            DelayRepeatMax4 = template.DelayRepeatMax4;
            DelayRepeatMax5 = template.DelayRepeatMax5;
            DelayRepeatMax6 = template.DelayRepeatMax6;
            DelayRepeatMax7 = template.DelayRepeatMax7;
            DelayRepeatMax8 = template.DelayRepeatMax8;
            ScriptId1 = template.ScriptId1;
            ScriptId2 = template.ScriptId2;
            ScriptId3 = template.ScriptId3;
            ScriptId4 = template.ScriptId4;
            ScriptId5 = template.ScriptId5;
            ScriptId6 = template.ScriptId6;
            ScriptId7 = template.ScriptId7;
            ScriptId8 = template.ScriptId8;
        }
    }
}
